package org.dromara.hm.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.hm.domain.HmCustomerTransferHistory;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 客户迁移历史视图对象 hm_customer_transfer_history
 *
 * @author Hzy
 * @date 2025-05-23
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HmCustomerTransferHistory.class)
public class HmCustomerTransferHistoryVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 客户转移记录ID
     */
    @ExcelProperty(value = "记录ID")
    private Long customerTransferHistoryId;

    /**
     * 客户ID
     */
    @ExcelProperty(value = "客户ID")
    private Long customerId;

    /**
     * 客户姓名
     */
    @ExcelProperty(value = "客户姓名")
    private String customerName;

    /**
     * 原服务员工ID
     */
    @ExcelProperty(value = "原员工ID")
    private Long oldStaffId;

    /**
     * 原服务员工姓名
     */
    @ExcelProperty(value = "原员工姓名")
    private String oldStaffName;

    /**
     * 新服务员工ID
     */
    @ExcelProperty(value = "新员工ID")
    private Long newStaffId;

    /**
     * 新服务员工姓名
     */
    @ExcelProperty(value = "新员工姓名")
    private String newStaffName;

    /**
     * 原归属店铺ID
     */
    @ExcelProperty(value = "原店铺ID")
    private Long oldStoreId;

    /**
     * 原归属店铺名称
     */
    @ExcelProperty(value = "原店铺名称")
    private String oldStoreName;

    /**
     * 新归属店铺ID
     */
    @ExcelProperty(value = "新店铺ID")
    private Long newStoreId;

    /**
     * 新归属店铺名称
     */
    @ExcelProperty(value = "新店铺名称")
    private String newStoreName;

    /**
     * 转移类型
     */
    @ExcelProperty(value = "转移类型") // TODO: Add Dict Type if available e.g. @ExcelDictFormat(dictType = "hm_transfer_type")
    private String transferType;

    /**
     * 转移原因
     */
    @ExcelProperty(value = "转移原因")
    private String transferReason;

    /**
     * 操作人ID
     */
    @ExcelProperty(value = "操作人ID")
    private Long operatorId;

    /**
     * 操作人姓名
     */
    @ExcelProperty(value = "操作人")
    private String operatorName;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 创建时间 (转移时间)
     */
    @ExcelProperty(value = "转移时间")
    private Date createTime;

    /**
     * 状态
     */
    private String status;


}
